iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 22
0
自我挑戰組

從swift基礎出發的ARKit世界系列 第 22

Swift中的WKWebView實作方式

  • 分享至 

  • xImage
  •  

第二十二天,來講解WKWebView實作方式
以及在網頁顯示之前跑圈圈的實作方式
/images/emoticon/emoticon08.gif

在ios顯示網頁
需要有網址產生url, 拿到url request, 並用webkitview顯示

  • WKWebView
    搜尋右面板webKitView拖曳至畫面中間
    連結至程式碼並import WebKit

    程式碼部分
若碰到無法顯示該網頁
在info.plist新增
App Transport Security Settings
新增之後在這裡面再新增一個
Allow Arbitrary Loads
並將後面改成YES
這樣無法顯示的網頁也都能顯示了!
  • UIActivityIndicatorView
    就是一個顯示畫面前會一直轉圈圈的畫面
    搜尋右面板Activity Indicator View並拖曳至中間

    右面板屬性Hides when stopped要打勾

    接下來修改程式碼部分
    要服從WKNavigationDelegate屬性才能實作方法
    在載入網頁時轉圈圈
    在載入完畢後停止轉圈圈
  • Grand Central Dispatch(GCD)
    程式執行多項事情時, 自己分配
    主佇列是跟畫面相關的, 只能用非同步
    DispatchQueue.main.async()
    共時佇列跟畫面不相關, 同步非同步都可以用
    DispatchQueue.global().sync
    DispatchQueue.global().async
  • 下載圖片
    方法一:
    Data下載資料
    一般寫法是這樣

    但若檔案很多很大, 會造成整個程式非常慢, 全都在等待下載
    因此使用共時佇列與主佇列

方法二:
URLSession下載資料(預設就是共時佇列)
呼叫session.datatask()/session.downloadtask() 產生task
再用task.resume()開始下載
下載完後就會執行closure內的動作

  • 沒有網路怎麼辦

上一篇
Swift中的儲存資料
下一篇
Swift中如何解析Json_寫出亂數產生使用者App part1
系列文
從swift基礎出發的ARKit世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言